Linux webm002.cluster126.gra.hosting.ovh.net 6.18.39-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Tue Jul 21 12:03:15 CEST 2026 x86_64
/
home
/
ariannadhf
/
www
/
wp-content
/
plugins
/
simple-history
/
dropins
/
/home/ariannadhf/www/wp-content/plugins/simple-history/dropins/class-quick-view-dropin.php
<?php namespace Simple_History\Dropins; use Simple_History\Helpers; /** * Displays the latest events from Simple History in the admin bar using React. */ class Quick_View_Dropin extends Dropin { /** @inheritDoc */ public function loaded() { // Init the plugin at prio 20 so it's easy to modify on init, without having to use a lower prio. add_action( 'init', [ $this, 'initialize' ], 20 ); } /** * Initialize the dropin. * Fired from the 'init' hook. */ public function initialize() { // phpcs:ignore WordPress.Security.NonceVerification.Recommended $divi_frontend_builder_active = isset( $_GET['et_fb'] ); // Bail if Divi frontend builder is active because it will cause React errors/issues. // https://github.com/bonny/WordPress-Simple-History/issues/565. if ( $divi_frontend_builder_active ) { return; } // Only available for users with the view history capability. // phpcs:ignore WordPress.WP.Capabilities.Undetermined -- Capability is filterable, defaults to 'read'. if ( ! current_user_can( Helpers::get_view_history_capability() ) ) { return; } // Only available if settings is true. if ( ! Helpers::setting_show_in_admin_bar() ) { return; } // Check that admin bar is actually shown. // CSS and JS will be added to the HTML even if the admin bar is not shown, // which is wrong. if ( ! is_admin_bar_showing() ) { return; } add_action( 'admin_bar_menu', [ $this, 'add_simple_history_to_admin_bar' ], 100 ); // Quick View is available both in the admin and on the front end, // so we need to enqueue the scripts on both. add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_scripts' ] ); add_action( 'admin_enqueue_scripts', [ $this,'enqueue_scripts' ] ); } /** * Add the Simple History menu item to the admin bar. * * @param \WP_Admin_Bar $wp_admin_bar Admin bar instance. */ public function add_simple_history_to_admin_bar( $wp_admin_bar ) { // Add the main menu item. $wp_admin_bar->add_node( array( // Id's are prefixed automatically, so no need to prefix them here. 'id' => 'simple-history', 'title' => 'History', 'href' => Helpers::get_history_admin_url(), ) ); $wp_admin_bar->add_group( array( 'parent' => 'simple-history', 'id' => 'simple-history-react-root-group', 'title' => '', ), ); // Must add this or the group will not be rendered. $wp_admin_bar->add_node( array( 'parent' => 'simple-history-react-root-group', 'id' => 'simple-history-subnode-1', 'title' => '', ) ); } /** * Enqueue scripts. */ public function enqueue_scripts() { $asset_file = include SIMPLE_HISTORY_PATH . 'build/index-admin-bar.asset.php'; wp_enqueue_script( 'simple_history_admin_bar_scripts', SIMPLE_HISTORY_DIR_URL . 'build/index-admin-bar.js', $asset_file['dependencies'], $asset_file['version'], [ 'in_footer' => true, 'strategy' => 'defer', ] ); wp_enqueue_style( 'simple_history_admin_bar_styles', SIMPLE_HISTORY_DIR_URL . 'build/index-admin-bar.css', [], $asset_file['version'] ); wp_localize_script( 'simple_history_admin_bar_scripts', 'simpleHistoryAdminBar', /** * Filters the data passed to the admin bar Quick View JavaScript. * * @since 5.25.0 * * @param array $data Data to pass to JavaScript. */ apply_filters( 'simple_history/admin_bar/localize_data', [ 'adminPageUrl' => Helpers::get_history_admin_url(), 'viewSettingsUrl' => Helpers::get_settings_page_url(), // phpcs:ignore WordPress.WP.Capabilities.Undetermined -- Capability is filterable, defaults to 'read'. 'currentUserCanViewHistory' => current_user_can( Helpers::get_view_history_capability() ), 'currentPostId' => is_singular() ? get_queried_object_id() : 0, 'currentPostTitle' => is_singular() ? get_the_title() : '', ] ), ); } }